#ifndef __PRODUCT_TABLE_H__
#define __PRODUCT_TABLE_H__
#include <stdint.h>
#include "dbStatement.h"

//备注：协议属于哪个产品，产品包含哪些协议
typedef struct _PRODUCT{
    int64_t  id;          //产品ID
    char name[32];        //产品名称
    char model[32];       //产品型号
    char manufacturer[64];//生产厂商
    char manuId[32];      //厂商ID
    char desc[256];       //协议描述 
    int  classify;        //产品分类
    T_PROTOCOL_TYPE  protocol[8];     //协议类型,一个产品最多支持8种协议类型
    int64_t  protocolID[8][64];       //协议ID
    struct _PRODUCT* prev;
    struct _PRODUCT* next;
}T_PRODUCT;

/**
 * @brief 测点模型
 */
typedef struct _PRODUCT_LIST{
    int  count;
    T_PRODUCT* tail;
    T_PRODUCT* head;
}T_PRODUCT_LIST;




extern void dbProductInit();

extern int  createProductTable();
extern int  insertProduct(T_PRODUCT* product);
extern int  replaceProduct(T_PRODUCT* product);
extern int  deleteProduct(T_PRODUCT* product);
extern int  selectProduct(const char* sql, T_PRODUCT_LIST* productList);


#endif /* __MODEL_TABLE_H__ */